package movilmax.sia_corp.action;


import java.util.HashMap;
import java.util.Map;

import movilmax.sia_corp.model.Contratos;
import movilmax.sia_corp.model.Dispositivos;
import com.opensymphony.xwork2.ActionSupport;
import apli.conectar.Conectar;
import basedatos.Fecha;
import basedatos.Resultado;


public class CargarPromociones extends ActionSupport{
	

	private static final long serialVersionUID = 5131290277410370512L;
	private Contratos contrato;
	private Dispositivos promo;
	private Map<String, String> promocion;
	private Map<String, String> dispositivo;
	private Map<String, String> servicio;
	private Map<String, String> tipos;
	private Conectar BASE;
	private Fecha FECHA=new Fecha();
	private String FI=FECHA.getFecha();
	private String FF=FECHA.getFecha();
	
	
	public String CargarPromocion(){
		promocion= new HashMap<String, String>();
		String SQL="Select cod,descripcion From promociones Where tipo in ('TODOS','"+contrato.getTipo()+"') and inicio<='"+FI+"' and '"+FF+"'<=fin Order by cod";
		Resultado RCS_D=BASE.getBaseDatos().consultar(SQL);
		 if(RCS_D.RP){
			 do{ 
			     promocion.put( RCS_D.getCadena("codigo"), RCS_D.getCadena("descripcion"));
			  }while(RCS_D.sigItem()); 
		 }
		 return SUCCESS;
	}
	
	public String CargarDispositivo(){
		
		dispositivo= new HashMap<String, String>();
		String SQL="Select codigo,descripcion From productos Where status='1' and tipo='1'  Order by descripcion";
		Resultado RCS_D=BASE.getBaseDatos().consultar(SQL);
		 if(RCS_D.RP){
			do{
				dispositivo.put(RCS_D.getCadena("codigo"), RCS_D.getCadena("descripcion"));
			}while(RCS_D.sigItem()); 
		 }
		return SUCCESS;
	}
	
	public String CargarServicio(){
		servicio= new HashMap<String, String>();
		String SQL="Select P.codigo,P.descripcion From productos P,servicios_x_tipo X Where X.activo='1' and P.tipo='2' and P.corporativo='0' and P.status='1' and P.codigo=X.servicio and X.tipo='"+contrato.getTipo()+"' Order by P.descripcion";
	//	String SQL="Select P.codigo,P.descripcion From productos P,servicios_x_tipo X Where X.activo='1' and P.tipo='2' and P.corporativo='0' and P.status='1' and P.codigo=X.servicio and X.tipo='1' Order by P.descripcion";
		Resultado RCS_D=BASE.getBaseDatos().consultar(SQL);
		if(RCS_D.RP){
			do{
				servicio.put(RCS_D.getCadena("codigo"), RCS_D.getCadena("descripcion"));
				servicio.put(RCS_D.getCadena("1"), RCS_D.getCadena("hola"));
			}while(RCS_D.sigItem()); 
		}
		return SUCCESS;
	}
	
	public String CargarContratoTipos(){
		
		tipos= new HashMap<String, String>();
		
		tipos.put( "PREPAGO", "PREPAGO");
		tipos.put( "POSTPAGO", "POSTPAGO");
		tipos.put( "PYME", "PYME");
		return SUCCESS;
	}
	
	public String getJSON(){
		BASE=new Conectar();
		if(BASE.getMsg().equals("SI")){
			CargarPromocion();
			CargarContratoTipos();
			CargarDispositivo();
			CargarServicio();
			BASE.getBaseDatos().cerrarConexion();
		  	return SUCCESS;
		}else{
			this.addActionError("No hay conexion al servidor");
			return ERROR;
		}
		 	

  }
	
	//--------------getters and setters----
	public Dispositivos getPromo() {
		return promo;
	}
	
	public Map<String, String> getPromocion() {
		return promocion;
	}
	public void setPromocion(Map<String, String> promocion) {
		this.promocion = promocion;
	}
	public Conectar getBASE() {
		return BASE;
	}
	public void setBASE(Conectar bASE) {
		BASE = bASE;
	}
	public Contratos getContrato() {
		return contrato;
	}
	public void setContrato(Contratos contrato) {
		this.contrato = contrato;
	}

	public Map<String, String> getTipos() {
		return tipos;
	}

	public void setTipos(Map<String, String> tipos) {
		this.tipos = tipos;
	}

	public Map<String, String> getDispositivo() {
		return dispositivo;
	}

	public void setDispositivo(Map<String, String> dispositivo) {
		this.dispositivo = dispositivo;
	}

	public Fecha getFECHA() {
		return FECHA;
	}

	public void setFECHA(Fecha fECHA) {
		FECHA = fECHA;
	}

	public String getFI() {
		return FI;
	}

	public void setFI(String fI) {
		FI = fI;
	}

	public String getFF() {
		return FF;
	}

	public void setFF(String fF) {
		FF = fF;
	}

	public Map<String, String> getServicio() {
		return servicio;
	}

	public void setServicio(Map<String, String> servicio) {
		this.servicio = servicio;
	}

	public void setPromo(Dispositivos promo) {
		this.promo = promo;
	}
	
	
	//-------------------------------------

}
